The invention relates generally to exchanging telephony signals between communication devices of a data network and more particularly to methods and devices for providing camp-on capability.
There are a number of available telephony features for reducing the inconvenience associated with attempting to contact a person at a telephone or other communication device that is presently unavailable for receiving an incoming call. Typically, the unavailable condition is a result of the telephone being in an off-hook state. One available feature is voicemail capability. The calling party is transferred to a voicemail system that records a message from the calling party for later access by the called party. The message may be information or may be a request for a return call. The voicemail system may be located at the facility of the called telephone, such as the private branch exchange (PBX) of a corporation, or may be located at a central office of a public switched telephone network (PSTN). Acquiring voicemail capability through the central office typically requires a subscriber to pay an amount beyond the basic subscriber fee.
A second available feature is call waiting. This feature is described in U.S. Pat. No. 5,263,084 to Chaput et al. A subscriber who is engaged in a telephone conversation when a second incoming call is received will be notified with a call-waiting tone, typically a 440 Hz tone. The called subscriber then has the option of performing a switch-hook flash that places the original call on hold, while the second incoming call is connected to the called subscriber. When acquired through the central office of a PSTN, the call-waiting feature requires an amount beyond the basic subscriber fee.
A third available feature is referred to as camp-on, and is described in U.S. Pat. No. 5,577,111 to Iida et al. When a calling telephone or other communication device calls a second communication device that is in an off-hook state, an exchange system registers the numbers of the two devices. The exchange system monitors the connection of the called communication device. Upon detection that the called communication device is in an available condition, the system establishes connectivity between the two communication devices. The camp-on feature renders it unnecessary for the calling party to repeatedly redial the called party until the connection is established. Instead, the connection is made immediately after the off-hook communication device is available. However, the capability is limited. Signaling between telephone networks allows camp-on callback capability only when the networks are intelligent and bound by a common protocol. For example, if multiple PBXs are provided by a common vendor or all support a common protocol (e.g., the same version of ISDN), camp-on is enabled for communication devices supported by the PBXs. For individual or business subscribers, the camp-on feature often is restricted to a limited geographical area and requires a per-call or monthly additional fee.
In addition to telephone calls over voice networks, data networks may be used to provide connectivity between communication devices. The global data network referred to as the Internet is available for establishing connectivity among communication devices. The communication devices may be personal computers having dialer clients or may be Internet phones that provide analog or digital phone service combined with Internet access (e.g., the Internet Screen Phone sold by Alcatel, which merges Internet access with conventional telephone connectivity in an integrated phone set, screen and keyboard connected to a telephone network). Phone communications via a data network may be achieved using an Applications Programming Interface (API), such as Microsoft Corporation""s Telephone API (TAPI). An API is used to bridge the gap between telephony requirements and data network-based techniques for managing and transmitting data. One API that is designed to achieve particular telephone call control objects across the various computer platforms utilizes the object-oriented programming language referred to as Java, which was originally developed by Sun Microsystems. The Java Telephony API combines Internet and telephony technology components in a platform-independent application.
U.S. Pat. No. 5,724,412 to Srinivasan describes a method and system for providing a telephony subscriber with Internet information related to a caller attempting to call the subscriber. The Internet information may be the identification of the caller. The information is provided to the equipment of the subscriber during the first and second ring of an incoming call. If the called subscriber elects not to answer the call or is not present during the incoming call, the Internet information may be stored for later access. For example, the Internet information may be stored with a voicemail message. The Internet information may be presented to the subscriber in one or more of different forms, e.g., all text, all vocalized in speech, or a combination of text and vocalized speech. The capabilities are achieved using a combination of hardware and software, which may be at a telephony central office or the premises of the called subscriber. That is, an aspect of the method and system is that the called party""s Internet phone call processing system must be modified to accept and utilize caller Internet identification information provided by the local telephony provider.
Thus, while there have been numerous advances in the industry, call-handling features for reducing the inconvenience of attempting connectivity with a communication device in an unavailable condition continues to require specifically designed hardware and/or software adjunct to the unavailable device. The specifically designed hardware/software may be at the central office of the provider or at a corporate switching system (e.g., PBX) that supports call-handling to the unavailable communication device. In either of these situations, the calling feature is available only at a fee.
What is needed is a cost-efficient method and device for enabling a call-handling feature that is accessed when a called communication device is in an unavailable condition.
A device and a notification method utilize device-to-device signal exchanges via a data network to enable camp-on capability. As a response to a determination that a called communication device is in an unavailable condition (e.g., an off-hook state), a first notification signal is transmitted from a calling communication device to the unavailable called communication device. The first notification signal is transmitted via the data network and includes a network address of the calling communication device. The first notification signal is configured to automatically trigger a transmission of a second notification signal when the unavailable called communication device returns to an available condition to receive the call. The second notification signal is transmitted in a direction opposite to the first notification signal, i.e., from the called device to the originally calling device. After receiving the second notification signal from the called device, the call is reinitiated. Thus, the camp-on capability is available without purchasing specifically designed equipment and without registering for camp-on service.
In the preferred embodiment, the data network is the Internet and the communication devices are Internet-enabled devices, such as personal computers. The first notification signal is stored in memory of the called communication device for access when the called communication device switches from the unavailable condition to the available condition. Also in the preferred embodiment, the first notification signal is formatted as an application program that is specific to directing contact between the called and calling communication devices when the called communication device returns to the available condition. For example, if the two devices are computers having dialer clients that operate in a Java Telephony API environment, the first notification signal may be a Java applet. The application program may run in an executed mode that monitors the availability condition of the called communication device. Detection that the called device is in the available condition triggers the transmission of the second notification signal.
In the embodiment in which the first notification signal is an application program, the called communication device need only be enabled to execute the program. Consequently, if the application program is executable regardless of operating system platform, the called communication device is camp-on ready even though it may not previously have been programmed to provide this feature. One potential platform-independent environment is a Java applet.
As an alternative to transmitting the first notification signal as an application program, the signal may be a specifically designed protocol element that is sent from the calling communication device to the called communication device. Both of the devices may have camp-on reception software that is responsive to the protocol element. The protocol element includes the data network address of the calling communication device and is configured to trigger the transmission of the second notification signal upon a determination that the called communication device has returned to an available condition.
As previously noted, the second notification signal is transmitted from the originally called communication device to the originally calling communication device. This signal may also be an application program, such as a Java applet. Alternatively, the signal is a special protocol element. The second notification signal may be configured to provide a visual display of the available status of the called communication device, or may be configured to automatically execute a reinitiation of the call to the called communication device.
While not critical, the first notification signal may trigger a display at the called communication device. The display may be executed at the time that the user is engaged in the call that causes the called communication device to be unavailable. The display allows the called party to refuse the request for camp-on capability, so that the second notification signal is not sent. Alternatively, the called party has the opportunity to immediately hang up, so that the incoming call is connected.
The communication devices are preferably Internet-enabled devices having dialer interfaces for establishing telephonic connections via the Internet. Each device is preferably a computer having the ability to detect a busy condition at a called remote Internet-enabled device and having the camp-on capability of transmitting the first notification signal to the unavailable device in response to recognizing a busy condition. The original calling device has a monitoring capability for activating the dialer interface to contact the previously unavailable device in response to detecting the second notification signal that indicates that the remote device is available. The notification signals include the Internet Protocol (IP) address of the sending device. Both of the notification signals are transmitted from one device to the other device. Preferably, at least the first notification signal is an application program, but special protocol elements may be used.